﻿using System.Collections.Generic;

namespace KaroEngine
{
    public struct Neighbours
    {
        /// <summary>
        /// This is the index of the tile that is in the center of these neighbours.
        /// </summary>
        public short Origin;

        /// <summary>
        /// This is the list of neighbours the origin has in the inner ring (directly adjacent tiles).
        /// </summary>
        public List<short> InnerNeighbours;

        /// <summary>
        /// This is the list of neighbours the origin has in the outer ring (only accessible if we jump over an
        /// inner ring tile that has a cone on it).
        /// </summary>
        public List<short> OuterNeighbours;

        /// <summary>
        /// This is the list of neighbours, both inner and outer ring, that are occupied by the origin's team's
        /// cones.
        /// </summary>
        public List<short> OwnNeighbours;

        /// <summary>
        /// This is the list of neighbours, both inner and outer ring, that are occupied by the origin's opponent's
        /// team's cones.
        /// </summary>
        public List<short> OpponentNeighbours;
    }
}